<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Opcode</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Opcode"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Opcode rootpage-Opcode skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Opcode</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p class="mw-empty-elt">
</p>
<style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1246091330">
/* start https://en.wikipedia.org/ */
.mw-parser-output .sidebar{width:22em;float:right;clear:right;margin:0.5em 0 1em 1em;background:var(--background-color-neutral-subtle,#f8f9fa);border:1px solid var(--border-color-base,#a2a9b1);padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0.1em 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:115%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:640px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}body.skin--responsive .mw-parser-output .sidebar a>img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media print{body.ns-0 .mw-parser-output .sidebar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><table class="sidebar nomobile nowraplinks" style="margin-top: 0.5em;"><tbody><tr><th class="sidebar-title" style="background-color: rgba(51, 153, 255, 0.15); color: inherit;"><a href="Machine_code" title="Machine code">Machine code</a></th></tr><tr><th class="sidebar-heading" style="background-color: rgba(51, 153, 255, 0.15); color: inherit;">
General concepts</th></tr><tr><td class="sidebar-content" style="text-align: left;">
<ul><li><a href="Instruction_set_architecture" title="Instruction set architecture">Instruction set</a></li>
<li>
<ul><li><a href="Illegal_opcode" title="Illegal opcode">Illegal opcode</a></li>
<li><a href="Opcode_table" title="Opcode table">Opcode table</a></li>
<li><a href="Opcode_prefix" title="Opcode prefix">Opcode prefix</a></li></ul></li>
<li><a href="Operand#Computer_science" title="Operand">Operand</a></li></ul></td>
</tr><tr><th class="sidebar-heading" style="background-color: rgba(51, 153, 255, 0.15); color: inherit;">
Instructions</th></tr><tr><td class="sidebar-content" style="text-align: left;">
<ul><li><a href="NOP_(code)" title="NOP (code)">NOP</a></li>
<li><a href="Branch_(computer_science)" title="Branch (computer science)">Branch</a>
<ul><li><a href="Indirect_branch" title="Indirect branch">Indirect branch</a></li></ul></li>
<li><a href="Repeat_instruction" title="Repeat instruction">Repeat instruction</a></li>
<li><a href="Execute_instruction" title="Execute instruction">Execute instruction</a></li></ul></td>
</tr><tr><td class="sidebar-navbar"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></td></tr></tbody></table>
<p>In <a href="Computing" title="Computing">computing</a>, an <b>opcode</b> (abbreviated from <b>operation code</b>)<sup id="cite_ref-Barron_1978_Opcode_1-0" class="reference"><a href="#cite_note-Barron_1978_Opcode-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Chiba_2007_2-0" class="reference"><a href="#cite_note-Chiba_2007-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> is an <a href="Enumeration" title="Enumeration">enumerated value</a> that specifies the operation to be performed. Opcodes are employed in hardware devices such as <a href="Arithmetic_logic_unit" title="Arithmetic logic unit">arithmetic logic units</a> (ALUs), <a href="Central_processing_units" class="mw-redirect" title="Central processing units">central processing units</a> (CPUs), and software instruction sets. In ALUs, the opcode is directly applied to circuitry via an input signal bus. In contrast, in CPUs, the opcode is the portion of a <a href="Machine_code" title="Machine code">machine language</a> <a href="Instruction_(computer_science)" class="mw-redirect" title="Instruction (computer science)">instruction</a> that specifies the operation to be performed.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="CPUs">CPUs</h2></div>
<p>Opcodes are found in the machine language instructions of CPUs as well as in some <a href="Virtual_machine#Process_virtual_machines" title="Virtual machine">abstract computing machines</a>. In CPUs, an opcode may be referred to as an <b>instruction machine code</b>,<sup id="cite_ref-Intel_1973_MCS-4_3-0" class="reference"><a href="#cite_note-Intel_1973_MCS-4-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> <b>instruction code</b>,<sup id="cite_ref-Intel_1974_MCS-40_4-0" class="reference"><a href="#cite_note-Intel_1974_MCS-40-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> <b>instruction syllable</b>,<sup id="cite_ref-Jones_1988_CISC_5-0" class="reference"><a href="#cite_note-Jones_1988_CISC-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Domagała_2012_6-0" class="reference"><a href="#cite_note-Domagała_2012-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Smotherman_2013_7-0" class="reference"><a href="#cite_note-Smotherman_2013-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Jones_2016_CISC_8-0" class="reference"><a href="#cite_note-Jones_2016_CISC-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> <b>instruction parcel,</b> or <b>opstring</b>.<sup id="cite_ref-Schulman_2005_9-0" class="reference"><a href="#cite_note-Schulman_2005-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Chiba_2007_2-1" class="reference"><a href="#cite_note-Chiba_2007-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> For any particular processor (which may be a general CPU or a more specialized processing unit), the opcodes are defined by the processor's <a href="Instruction_set_architecture" title="Instruction set architecture">instruction set architecture</a> (ISA).<sup id="cite_ref-Hennessy_2017_10-0" class="reference"><a href="#cite_note-Hennessy_2017-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> They can be described using an <a href="Opcode_table" title="Opcode table">opcode table</a>. The types of operations may include <a href="Arithmetic" title="Arithmetic">arithmetic</a>, data copying, <a href="Logical_operation" class="mw-redirect" title="Logical operation">logical operations</a>, program control, and special instructions (e.g., <a href="CPUID" title="CPUID">CPUID</a>).<sup id="cite_ref-Hennessy_2017_10-1" class="reference"><a href="#cite_note-Hennessy_2017-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</p><p>In addition to the opcode, many instructions specify the data (known as <a href="Operand" title="Operand">operands</a>) the operation will act upon, although some instructions may have implicit operands or none.<sup id="cite_ref-Hennessy_2017_10-2" class="reference"><a href="#cite_note-Hennessy_2017-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> Some instruction sets have nearly uniform fields for opcode and operand specifiers, whereas others (e.g., <a href="X86" title="X86">x86</a> architecture) have a less uniform, variable-length structure.<sup id="cite_ref-Hennessy_2017_10-3" class="reference"><a href="#cite_note-Hennessy_2017-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Mansfield_1983_11-0" class="reference"><a href="#cite_note-Mansfield_1983-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> Instruction sets can be extended through <a href="Opcode_prefix" title="Opcode prefix">opcode prefixes</a>, which add a subset of new instructions made up of existing opcodes following reserved byte sequences.
</p>
<div class="mw-heading mw-heading3"><h3 id="Sample_opcode_table">Sample opcode table</h3></div>
<p>This table shows opcodes of a simple 8-bit microprocessor, the <a href="Intel_8008" title="Intel 8008">Intel 8008</a> from 1972.
</p><p>Each opcode is 8 <a href="Bit" title="Bit">bits</a> long. Each is shown as a <a href="Binary_number" title="Binary number">binary</a> pattern of ones and zeros in the <b>Opcode</b> column. Up to two additional fields may be embedded into the opcode. Some 3-bit fields are labeled DDD, SSS, CC, and ALU. The SSS (source) and DDD (destination) fields specify one of the eight possible 8008 <a href="Processor_register" title="Processor register">registers</a> or memory: A, B, C, D, E, H, L, or M. CC specifies a condition that will activate certain JMP, CAL, and RET instructions. ALU specifies one of a possible eight <a href="Arithmetic_logic_unit" title="Arithmetic logic unit">arithmetic logic unit</a> functions to be performed during an instruction, specifically, add, add with carry, subtract, subtract with borrow, logical AND, logical XOR, logical OR, and compare. The <b>X</b> in some fields means that either a 1 or 0 can be inserted with <a href="Don't-care_term" title="Don't-care term">no effect</a>.
</p><p>The fixed ones and zeros are combined with the parameter fields to build the 8-bit opcode. Additionally, the full instruction might require one or two additional bytes of operands. These are shown in the second major column of the table, labeled <b>Operands</b>. If no operands are required, the column is filled with a dash (—).
</p><p>Since the ones and zeros are difficult to remember, the <b>Mnemonic</b> column shows a short, easy to remember letter code that an <a href="Assembly_language" title="Assembly language">assembly language</a> programmer may use to invoke the required opcode.
</p><p>The <b>Description</b> column shows the function performed by the microprocessor when it encounters a specific opcode.
</p>
<table class="wikitable" style="text-align:center">
<tbody><tr>
<th colspan="8">Opcode</th>
<th colspan="2">Operands</th>
<th rowspan="2">Mnemonic</th>
<th rowspan="2">Description
</th></tr>
<tr>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
<th>b2</th>
<th>b3
</th></tr>
<tr>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>X</td>
<td>—</td>
<td>—</td>
<td align="left">HLT</td>
<td align="left">Halt
</td></tr>
<tr>
<td>0</td>
<td>0</td>
<td colspan="3">DDD</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>—</td>
<td>—</td>
<td align="left">INr</td>
<td align="left">DDD ← DDD + 1 (except A and M)
</td></tr>
<tr>
<td>0</td>
<td>0</td>
<td colspan="3">DDD</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>—</td>
<td>—</td>
<td align="left">DCr</td>
<td align="left">DDD ← DDD - 1 (except A and M)
</td></tr>
<tr>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>—</td>
<td>—</td>
<td align="left">RLC</td>
<td align="left">A<sub>1-7</sub> ← A<sub>0-6</sub>; A<sub>0</sub> ← Cy ← A<sub>7</sub>
</td></tr>
<tr>
<td>0</td>
<td>0</td>
<td colspan="3">CC</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>—</td>
<td>—</td>
<td align="left">Rcc (RET conditional)</td>
<td align="left">If cc true, P ← (stack)
</td></tr>
<tr>
<td>0</td>
<td>0</td>
<td colspan="3">ALU</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td><i>data</i></td>
<td>—</td>
<td align="left">ADI ACI SUI SBI NDI XRI ORI CPI <i>data</i></td>
<td align="left">A ← A [ALU operation] data
</td></tr>
<tr>
<td>0</td>
<td>0</td>
<td colspan="3">N</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>—</td>
<td>—</td>
<td align="left">RST <i>n</i></td>
<td align="left">(stack) ← P, P ← N x 8
</td></tr>
<tr>
<td>0</td>
<td>0</td>
<td colspan="3">DDD</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td><i>data</i></td>
<td>—</td>
<td align="left">LrI <i>data</i> (Load r with immediate data)</td>
<td align="left">DDD ← data
</td></tr>
<tr>
<td>0</td>
<td>0</td>
<td>X</td>
<td>X</td>
<td>X</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>—</td>
<td>—</td>
<td align="left">RET</td>
<td align="left">P ← (stack)
</td></tr>
<tr>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>—</td>
<td>—</td>
<td align="left">RRC</td>
<td align="left">A<sub>0-6</sub> ← A<sub>1-7</sub>; A<sub>7</sub> ← Cy ← A<sub>0</sub>
</td></tr>
<tr>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>—</td>
<td>—</td>
<td align="left">RAL</td>
<td align="left">A<sub>1-7</sub> ← A<sub>0-6</sub>; Cy ← A<sub>7</sub>; A<sub>0</sub> ← Cy
</td></tr>
<tr>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td>—</td>
<td>—</td>
<td align="left">RAR</td>
<td align="left">A<sub>0-6</sub> ← A<sub>1-7</sub>; Cy ← A<sub>0</sub>; A<sub>7</sub> ← Cy
</td></tr>
<tr>
<td>0</td>
<td>1</td>
<td colspan="3">CC</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td><i>addlo</i></td>
<td><i>addhi</i></td>
<td align="left">Jcc <i>add</i> (JMP conditional)</td>
<td align="left">If cc true, P ← add
</td></tr>
<tr>
<td>0</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td colspan="3">port</td>
<td>1</td>
<td>—</td>
<td>—</td>
<td align="left">INP <i>port</i></td>
<td align="left">A ← Port (ports 0-7 only)
</td></tr>
<tr>
<td>0</td>
<td>1</td>
<td colspan="5">port</td>
<td>1</td>
<td>—</td>
<td>—</td>
<td align="left">OUT <i>port</i></td>
<td align="left">Port ← A (ports 8-31 only)
</td></tr>
<tr>
<td>0</td>
<td>1</td>
<td colspan="3">CC</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td><i>addlo</i></td>
<td><i>addhi</i></td>
<td align="left">Ccc <i>add</i> (CAL conditional)</td>
<td align="left">If cc true, (stack) ← P, P ← add
</td></tr>
<tr>
<td>0</td>
<td>1</td>
<td>X</td>
<td>X</td>
<td>X</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td><i>addlo</i></td>
<td><i>addhi</i></td>
<td align="left">JMP <i>add</i></td>
<td align="left">P ← add
</td></tr>
<tr>
<td>0</td>
<td>1</td>
<td>X</td>
<td>X</td>
<td>X</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td><i>addlo</i></td>
<td><i>addhi</i></td>
<td align="left">CAL <i>add</i></td>
<td align="left">(stack) ← P, P ← add
</td></tr>
<tr>
<td>1</td>
<td>0</td>
<td colspan="3">ALU</td>
<td colspan="3">SSS</td>
<td>—</td>
<td>—</td>
<td align="left">ADr ACr SUr SBr NDr XRr ORr CPr</td>
<td align="left">A ← A [ALU operation] SSS
</td></tr>
<tr>
<td>1</td>
<td>1</td>
<td colspan="3">DDD</td>
<td colspan="3">SSS</td>
<td>—</td>
<td>—</td>
<td align="left">Lds (Load d with s)</td>
<td align="left">DDD ← SSS
</td></tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>—</td>
<td>—</td>
<td align="left">HLT</td>
<td align="left">Halt
</td></tr>
<tr>
<th>7</th>
<th>6</th>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
<th>0</th>
<th>b2</th>
<th>b3</th>
<th>Mnemonic</th>
<th>Description
</th></tr>
<tr>
<th colspan="13">
</th></tr>
<tr>
<th colspan="5">SSS DDD</th>
<th>2</th>
<th>1</th>
<th>0</th>
<th colspan="2">CC</th>
<th>ALU
</th></tr>
<tr>
<td colspan="5">A</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td colspan="2">FC, C false</td>
<td align="left">ADr ADI (A ← A + arg)
</td></tr>
<tr>
<td colspan="5">B</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td colspan="2">FZ, Z false</td>
<td align="left">ACr ACI (A ← A + arg + Cy)
</td></tr>
<tr>
<td colspan="5">C</td>
<td>0</td>
<td>1</td>
<td>0</td>
<td colspan="2">FS, S false</td>
<td align="left">SUr SUI (A ← A - arg)
</td></tr>
<tr>
<td colspan="5">D</td>
<td>0</td>
<td>1</td>
<td>1</td>
<td colspan="2">FP, P odd</td>
<td align="left">SBr SBI (A ← A - arg - Cy)
</td></tr>
<tr>
<td colspan="5">E</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td colspan="2">TC, C true</td>
<td align="left">NDr NDI (A ← A ∧ arg)
</td></tr>
<tr>
<td colspan="5">H</td>
<td>1</td>
<td>0</td>
<td>1</td>
<td colspan="2">TZ, Z true</td>
<td align="left">XRr XRI (A ← A ⊻ arg)
</td></tr>
<tr>
<td colspan="5">L</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td colspan="2">TS, S true</td>
<td align="left">ORr ORI (A ← A ∨ arg)
</td></tr>
<tr>
<td colspan="5">M</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td colspan="2">TP, P even</td>
<td align="left">CPr CPI (A - arg)
</td></tr>
<tr>
<th colspan="5">SSS DDD</th>
<th>2</th>
<th>1</th>
<th>0</th>
<th colspan="2">CC</th>
<th>ALU
</th></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Software_instruction_sets">Software instruction sets</h2></div>
<p>Opcodes can be found in <a href="Bytecode" title="Bytecode">bytecodes</a> and other representations intended for execution by software interpreters. These often employ slightly higher-level data types and operations than those found in hardware opcodes but are nevertheless constructed along similar lines. Examples include the byte code found in <a href="Java_class_file" title="Java class file">Java class files</a>, which are interpreted by <a href="Java_virtual_machine" title="Java virtual machine">Java virtual machines</a>, the byte code used in <a href="GNU_Emacs" title="GNU Emacs">GNU Emacs</a> for compiled <a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a> code, and NET <a href="Common_Intermediate_Language" title="Common Intermediate Language">Common Intermediate Language</a>.<sup id="cite_ref-bytecode_12-0" class="reference"><a href="#cite_note-bytecode-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1266661725">
/* start https://en.wikipedia.org/ */
.mw-parser-output .portalbox{padding:0;margin:0.5em 0;display:table;box-sizing:border-box;max-width:175px;list-style:none}.mw-parser-output .portalborder{border:1px solid var(--border-color-base,#a2a9b1);padding:0.1em;background:var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output .portalbox-entry{display:table-row;font-size:85%;line-height:110%;height:1.9em;font-style:italic;font-weight:bold}.mw-parser-output .portalbox-image{display:table-cell;padding:0.2em;vertical-align:middle;text-align:center}.mw-parser-output .portalbox-link{display:table-cell;padding:0.2em 0.2em 0.2em 0.3em;vertical-align:middle}@media(min-width:720px){.mw-parser-output .portalleft{margin:0.5em 1em 0.5em 0}.mw-parser-output .portalright{clear:right;float:right;margin:0.5em 0 0.5em 1em}}
/* end https://en.wikipedia.org/ */
</style>
<ul><li><a href="Gadget_(machine_instruction_sequence)" class="mw-redirect" title="Gadget (machine instruction sequence)">Gadget (machine instruction sequence)</a></li>
<li><a href="Illegal_opcode" title="Illegal opcode">Illegal opcode</a></li>
<li><a href="Syllable_(computing)" title="Syllable (computing)">Syllable (computing)</a></li>
<li><a href="Fused_operation" class="mw-redirect" title="Fused operation">Fused operation</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-columns references-column-width" style="column-width: 40em;">
<ol class="references">
<li id="cite_note-Barron_1978_Opcode-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-Barron_1978_Opcode_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFBarron1978" class="citation book cs1 cs1-prop-location-test"><a href="David_W._Barron" title="David W. Barron">Barron, David William</a> (1978) [1971, 1969]. "2.1. Symbolic instructions". Written at <a href="University_of_Southampton" title="University of Southampton">University of Southampton</a>, Southampton, UK. In Floretin, J. John (ed.). <i>Assemblers and Loaders</i>. Computer Monographs (3 ed.). New York, USA: <a href="Elsevier_North-Holland_Inc." class="mw-redirect" title="Elsevier North-Holland Inc.">Elsevier North-Holland Inc.</a> p. 7. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-444-19462-2</bdi>. <a href="LCCN_(identifier)" class="mw-redirect" title="LCCN (identifier)">LCCN</a> <a rel="nofollow" class="external text" href="https://lccn.loc.gov/78-19961">78-19961</a>.</cite> (xii+100 pages)</span>
</li>
<li id="cite_note-Chiba_2007-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-Chiba_2007_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Chiba_2007_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFChiba2007" class="citation web cs1">Chiba, Shigeru (2007) [1999]. <a rel="nofollow" class="external text" href="http://www.docjar.org/html/api/javassist/bytecode/InstructionPrinter.java.html">"Javassist, a Java-bytecode translator toolkit"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200302185725/http://www.docjar.org/html/api/javassist/bytecode/InstructionPrinter.java.html">Archived</a> from the original on 2020-03-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-05-27</span></span>.</cite></span>
</li>
<li id="cite_note-Intel_1973_MCS-4-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-Intel_1973_MCS-4_3-0">^</a></b></span> <span class="reference-text"><cite class="citation book cs1"><a rel="nofollow" class="external text" href="http://bitsavers.trailing-edge.com/components/intel/MCS4/MCS-4_Assembly_Language_Programming_Manual_Dec73.pdf">"Appendix B - Instruction Machine Codes"</a> <span class="cs1-format">(PDF)</span>. <i>MCS-4 Assembly Language Programming Manual - The INTELLEC 4 Microcomputer System Programming Manual</i> (Preliminary ed.). Santa Clara, California, USA: <a href="Intel_Corporation" class="mw-redirect" title="Intel Corporation">Intel Corporation</a>. December 1973. pp. <span class="nowrap">B-1 –</span> <span class="nowrap">B-8</span>. MCS-030-1273-1. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200301235541/http://bitsavers.trailing-edge.com/components/intel/MCS4/MCS-4_Assembly_Language_Programming_Manual_Dec73.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2020-03-01<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-03-02</span></span>.</cite></span>
</li>
<li id="cite_note-Intel_1974_MCS-40-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-Intel_1974_MCS-40_4-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFRaphael1974" class="citation book cs1">Raphael, Howard A., ed. (November 1974). <a rel="nofollow" class="external text" href="http://bitsavers.trailing-edge.com/components/intel/MCS40/MCS-40_Users_Manual_Nov74.pdf">"The Functions Of A Computer: Instruction Register And Decoder"</a> <span class="cs1-format">(PDF)</span>. <i>MCS-40 User's Manual For Logic Designers</i>. Santa Clara, California, USA: <a href="Intel_Corporation" class="mw-redirect" title="Intel Corporation">Intel Corporation</a>. p. viii. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200303024244/http://bitsavers.trailing-edge.com/components/intel/MCS40/MCS-40_Users_Manual_Nov74.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2020-03-03<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-03-03</span></span>. <q>[…] Each operation that the processor can perform is identified by a unique binary number known as an instruction code. […]</q></cite></span>
</li>
<li id="cite_note-Jones_1988_CISC-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-Jones_1988_CISC_5-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFJones1988" class="citation journal cs1">Jones, Douglas W. (June 1988). <a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F48675.48684">"A Minimal CISC"</a>. <i>ACM SIGARCH Computer Architecture News</i>. <b>16</b> (3). New York, USA: <a href="Association_for_Computing_Machinery" title="Association for Computing Machinery">Association for Computing Machinery</a> (ACM): <span class="nowrap">56–</span>63. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F48675.48684">10.1145/48675.48684</a></span>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:17280173">17280173</a>.</cite></span>
</li>
<li id="cite_note-Domagała_2012-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-Domagała_2012_6-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFDomagała2012" class="citation book cs1">Domagała, Łukasz (2012). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=e6apNOED26kC">"7.1.4. Benchmark suite"</a>. <a rel="nofollow" class="external text" href="https://books.google.com/books?id=e6apNOED26kC"><i>Application of CLP to instruction modulo scheduling for VLIW processors</i></a>. Gliwice, Poland: Jacek Skalmierski Computer Studio. pp. 80–83 [83]. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-83-62652-42-6</bdi>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200302192452/https://books.google.de/books?hl=de&id=e6apNOED26kC&jtp=83">Archived</a> from the original on 2020-03-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-05-28</span></span>.</cite></span>
</li>
<li id="cite_note-Smotherman_2013-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-Smotherman_2013_7-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSmotherman2016" class="citation web cs1">Smotherman, Mark (2016) [2013]. <a rel="nofollow" class="external text" href="https://people.cs.clemson.edu/~mark/330/ilp.txt">"Multiple Instruction Issue"</a>. School of Computing, Clemson University. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160528142545/https://people.cs.clemson.edu/~mark/330/ilp.txt">Archived</a> from the original on 2016-05-28<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-05-28</span></span>.</cite></span>
</li>
<li id="cite_note-Jones_2016_CISC-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-Jones_2016_CISC_8-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFJones2016" class="citation web cs1">Jones, Douglas W. (2016) [2012]. <a rel="nofollow" class="external text" href="http://homepage.cs.uiowa.edu/~jones/arch/cisc/">"A Minimal CISC"</a>. <i>Computer Architecture On-Line Collection</i>. Iowa City, USA: <a href="The_University_of_Iowa" class="mw-redirect" title="The University of Iowa">The University of Iowa</a>, Department of Computer Science. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200302190911/http://homepage.cs.uiowa.edu/~jones/arch/cisc/">Archived</a> from the original on 2020-03-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-05-28</span></span>.</cite></span>
</li>
<li id="cite_note-Schulman_2005-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-Schulman_2005_9-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSchulman2005" class="citation magazine cs1">Schulman, Andrew (2005-07-01). <a rel="nofollow" class="external text" href="http://www.drdobbs.com/finding-binary-clones-with-opstrings-fu/184406152">"Finding Binary Clones with Opstrings & Function Digests"</a>. <i><a href="Dr._Dobb's_Journal" title="Dr. Dobb's Journal">Dr. Dobb's Journal</a></i>. Part I. Vol. 30, no. 7. <a href="CMP_Media_LLC" class="mw-redirect" title="CMP Media LLC">CMP Media LLC</a>. pp. <span class="nowrap">69–</span>73. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1044-789X">1044-789X</a>. #374. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200302175401/https://www.drdobbs.com/finding-binary-clones-with-opstrings-fu/184406152">Archived</a> from the original on 2020-03-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-03-02</span></span></cite>; <cite id="CITEREFSchulman2005" class="citation magazine cs1">Schulman, Andrew (2005-08-01). <a rel="nofollow" class="external text" href="http://www.drdobbs.com/finding-binary-clones-with-opstrings-fu/184406203">"Finding Binary Clones with Opstrings & Function Digests"</a>. <i><a href="Dr._Dobb's_Journal" title="Dr. Dobb's Journal">Dr. Dobb's Journal</a></i>. Part II. Vol. 30, no. 8. <a href="CMP_Media_LLC" class="mw-redirect" title="CMP Media LLC">CMP Media LLC</a>. pp. <span class="nowrap">56–</span>61. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1044-789X">1044-789X</a>. #375. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200302185255/https://www.drdobbs.com/finding-binary-clones-with-opstrings-fu/184406203">Archived</a> from the original on 2020-03-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-05-28</span></span></cite>; <cite id="CITEREFSchulman2005" class="citation magazine cs1">Schulman, Andrew (2005-09-01). <a rel="nofollow" class="external text" href="http://www.drdobbs.com/tools/finding-binary-clones-with-opstrings-fu/184406247">"Finding Binary Clones with Opstrings & Function Digests"</a>. <i><a href="CMP_Media_LLC" class="mw-redirect" title="CMP Media LLC">CMP Media LLC</a></i>. Part III. Vol. 30, no. 9. <a href="United_Business_Media" class="mw-redirect" title="United Business Media">United Business Media</a>. pp. <span class="nowrap">64–</span>70. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1044-789X">1044-789X</a>. #376. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200302185646/https://www.drdobbs.com/tools/finding-binary-clones-with-opstrings-fu/184406247?pgno=3">Archived</a> from the original on 2020-03-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-05-28</span></span>.</cite></span>
</li>
<li id="cite_note-Hennessy_2017-10"><span class="mw-cite-backlink">^ <a href="#cite_ref-Hennessy_2017_10-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Hennessy_2017_10-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Hennessy_2017_10-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Hennessy_2017_10-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFHennessyPattersonAsanovićBakos2017" class="citation book cs1">Hennessy, John L.; Patterson, David A.; <a href="Krste_Asanovi%C4%87" title="Krste Asanović">Asanović, Krste</a>; Bakos, Jason D.; Colwell, Robert P.; Bhattacharjee, Abhishek; Conte, Thomas M.; Duato, José; Franklin, Diana; Goldberg, David; Jouppi, Norman P.; Li, Sheng; Muralimanohar, Naveen; Peterson, Gregory D.; Pinkston, Timothy M.; Ranganathan, Parthasarathy; Wood, David A.; Young, Cliff; Zaky, Amr (2017-11-23). <i>Computer architecture: A quantitative approach</i> (6 ed.). Cambridge, Massachusetts, USA: <a href="Morgan_Kaufmann_Publishers" title="Morgan Kaufmann Publishers">Morgan Kaufmann Publishers</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-12811905-1</bdi>. <a href="OCLC_(identifier)" class="mw-redirect" title="OCLC (identifier)">OCLC</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/oclc/983459758">983459758</a>.</cite></span>
</li>
<li id="cite_note-Mansfield_1983-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-Mansfield_1983_11-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFMansfield1983" class="citation book cs1">Mansfield, Richard (1983). <a rel="nofollow" class="external text" href="http://www.atariarchives.org/mlb/introduction.php">"Introduction: Why Machine Language?"</a>. <a rel="nofollow" class="external text" href="https://www.atariarchives.org/mlb/index.php"><i>Machine Language For Beginners</i></a>. <a href="Compute!_Books" class="mw-redirect" title="Compute! Books">Compute! Books</a> (1 ed.). Greensboro, North Carolina, USA: <a href="COMPUTE!_Publications%2C_Inc." class="mw-redirect" title="COMPUTE! Publications, Inc.">COMPUTE! Publications, Inc.</a>, <a href="American_Broadcasting_Companies%2C_Inc." class="mw-redirect" title="American Broadcasting Companies, Inc.">American Broadcasting Companies, Inc.</a>; <a href="Small_System_Services%2C_Inc." class="mw-redirect" title="Small System Services, Inc.">Small System Services, Inc.</a> <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-942386-11-6</bdi>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20080213090055/http://www.atariarchives.org/mlb/introduction.php">Archived</a> from the original on 2008-02-13<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-05-28</span></span>.</cite></span>
</li>
<li id="cite_note-bytecode-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-bytecode_12-0">^</a></b></span> <span class="reference-text"><cite class="citation magazine cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20121006015213/http://www.pcmag.com/encyclopedia_term/0%2C2542%2Ct%3Dbytecode%26i%3D39108%2C00.asp">"bytecode Definition"</a>. <i><a href="PC_Magazine" class="mw-redirect" title="PC Magazine">PC Magazine</a></i>. PC Magazine Encyclopedia. Archived from <a rel="nofollow" class="external text" href="https://www.pcmag.com/encyclopedia_term/0,2542,t=bytecode&i=39108,00.asp">the original</a> on 2012-10-06<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-10-10</span></span>.</cite></span>
</li>
</ol></div>
<p><br>
</p>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="x86_assembly_topics102" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="x86_assembly_topics102" style="font-size:114%;margin:0 4em">x86 assembly topics</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Topics</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Assembly_language" title="Assembly language">Assembly language</a></li>
<li><a href="Comparison_of_assemblers" title="Comparison of assemblers">Comparison of assemblers</a></li>
<li><a href="Disassembler" title="Disassembler">Disassembler</a></li>
<li><a href="Instruction_set_architecture" title="Instruction set architecture">Instruction set</a></li>
<li><a href="Low-level_programming_language" title="Low-level programming language">Low-level programming language</a></li>
<li><a href="Machine_code" title="Machine code">Machine code</a></li>
<li><a href="Microassembler" title="Microassembler">Microassembler</a></li>
<li><a href="X86_assembly_language" title="X86 assembly language">x86 assembly language</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Comparison_of_assemblers#x86_assemblers" title="Comparison of assemblers">Assemblers</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="A86_(software)" title="A86 (software)">A86/A386</a></li>
<li><a href="FASM" title="FASM">Flat Assembler</a> (FASM)</li>
<li><a href="GNU_Assembler" title="GNU Assembler">GNU Assembler</a> (GAS)</li>
<li><a href="High_Level_Assembly" title="High Level Assembly">High Level Assembly</a> (HLA)</li>
<li><a href="Microsoft_Macro_Assembler" title="Microsoft Macro Assembler">Microsoft Macro Assembler</a> (MASM)</li>
<li><a href="Netwide_Assembler" title="Netwide Assembler">Netwide Assembler</a> (NASM)</li>
<li><a href="Turbo_Assembler" title="Turbo Assembler">Turbo Assembler</a> (TASM)</li>
<li><a href="Open_Watcom_Assembler" title="Open Watcom Assembler">Open Watcom Assembler</a> (WASM)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Programming<br>issues</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Call_stack" title="Call stack">Call stack</a></li>
<li><a href="FLAGS_register" title="FLAGS register">Flags</a>
<ul><li><a href="Carry_flag" title="Carry flag">Carry flag</a></li>
<li><a href="Direction_flag" title="Direction flag">Direction flag</a></li>
<li><a href="Interrupt_flag" title="Interrupt flag">Interrupt flag</a></li>
<li><a href="Overflow_flag" title="Overflow flag">Overflow flag</a></li>
<li><a href="Zero_flag" title="Zero flag">Zero flag</a></li></ul></li>
<li><a href="Memory_address" title="Memory address">Memory address</a></li>
<li><a href="Program_counter" title="Program counter">Program counter</a></li>
<li><a href="Processor_register" title="Processor register">Processor register</a></li>
<li><a href="X86_calling_conventions" title="X86 calling conventions">Calling conventions</a></li>
<li><a href="X86_instruction_listings" title="X86 instruction listings">Instruction listings</a></li>
<li><a href="X86#x86_registers" title="X86">Registers</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-15" href="https://en.wikipedia.org/wiki/?title=Opcode&oldid=1300697202">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>